package com.neusiri.api.upms.consts;

/**
 * 应用常量
 *
 * @author zhuxiang
 * @date 2022/3/28 15:42
 */
public interface UpmsConst {

    /**
     * 工程的spring.application.name对应的名称
     */
    String APP_UPMS = "siri-upms";

    /**
     * 模块接口路径
     *
     * @author zhuxiang
     * @date 2022/5/17 14:24
     */
    interface Path {
        String CLIENT = "/client";
        String TOKEN = "/token";
        String SSO = "/sso";
        String CAPTCHA = "/captcha";

        String INNER = "/inner";

        String TENANT = "/tenant";
        String LOGIN = "/login";
        String ORG = "/org";
        String DEPT = "/dept";
        String POST = "/post";
        String RANK = "/rank";
        String USER = "/user";
        String USER_POST = "/user/post";
        String USER_ROLE = "/user/role";
        String USER_TABLE_CONFIG = "/userTableConfig";
        String ROLE = "/role";
        String ROLE_MENU = "/role/menu";
        String ROLE_POST = "/role/post";
        String ROLE_SCOPE = "/role/scope";
        String MENU = "/menu";
        String MENU_API = "/menu/api";
        String MENU_TENANT = "/menu/tenant";
        String API = "/api";

        String AREA = "/area";
        String TEMPLATE = "/template";

        String DICT = "/dict";
        String DICT_ITEM = "/dict/item";

        String LOG_LOGIN = "/log/login";
        String LOG_OPER = "/log/oper";
        String LOG_ERROR = "/log/error";
        String LOG_LINK = "/log/link";

        String NOTICE = "/notice";
        String NOTICE_FILE = "/notice/file";
        String BASIC_SERIAL = "/serial";
        String SYS_DEVOPS = "/devops";
        String PURCHASE_GROUP = "/purchaseGroup";
        String PURCHASE_ORG = "/purchaseOrg";
        String PURCHASE_GROUP_USER = "/purchaseGroup/user";
        String DATASOURCE = "/datasource";

        String DATA_PERM = "/data_perm";
        String DATA_PERM_RULE = "/data_perm/rule";

        String BUS_MODEL = "/busModel";

    }

    /**
     * 系统权限标识
     *
     * @author zhuxiang
     * @date 2022/8/19 15:49
     */
    interface Permit {
        /**
         * 应用模型管理
         */
        String MODEL_QUERY = "upms:busModel:query";
        String MODEL_QUERY_ID = "upms:busModel:query.id";
        String MODEL_SELECT = "upms:busModel:select";
        String MODEL_EDIT = "upms:busModel:edit";

        /**
         * 应用管理
         */
        String APP_ADD = "upms:app:add";
        String APP_DELETE = "upms:app:delete";
        String APP_EDIT = "upms:app:edit";
        String APP_QUERY = "upms:app:query";

        /**
         * OAuth2
         */
        String OAUTH_CLIENT_ADD = "oauth:client:add";
        String OAUTH_CLIENT_DELETE = "oauth:client:delete";
        String OAUTH_CLIENT_EDIT = "oauth:client:edit";
        String OAUTH_CLIENT_PAGE = "oauth:client:page";
        String OAUTH_CLIENT_DETAIL = "oauth:client:detail";
        String OAUTH_CLIENT_PWD = "oauth:client:pwd";
        String OAUTH_CLIENT_ENABLE = "oauth:client:enable";
        String OAUTH_CLIENT_DISABLE = "oauth:client:disable";

        /**
         * 区域管理
         */
        String AREA_ADD = "upms:area:add";
        String AREA_DELETE = "upms:area:delete";
        String AREA_EDIT = "upms:area:edit";
        String AREA_DETAIL = "upms:area:detail";
        String AREA_LIST = "upms:area:list";
        String AREA_PAGE = "upms:area:page";
        String AREA_TREE = "upms:area:tree";
        String AREA_ENABLE = "upms:area:enable";
        String AREA_DISABLE = "upms:area:disable";
        String AREA_SUPERIOR_TREE = "upms:area:superior.tree";


        /**
         * 组织
         */
        String ORG_TREE = "upms:org:tree";
        String ORG_ADD = "upms:org:add";
        String ORG_DELETE = "upms:org:delete";
        String ORG_EDIT = "upms:org:edit";
        String ORG_DETAIL = "upms:org:detail";
        String ORG_PAGE = "upms:org:page";
        String ORG_ENABLE = "upms:org:enable";
        String ORG_DISABLE = "upms:org:disable";
        String ORG_EXPORT = "upms:org:export";

        /**
         * 部门
         */
        String DEPT_ADD = "upms:dept:add";
        String DEPT_DELETE = "upms:dept:delete";
        String DEPT_EDIT = "upms:dept:edit";
        String DEPT_QUERY = "upms:dept:query";
        String DEPT_PAGE = "upms:dept:page";
        String DEPT_TREE = "upms:dept:tree";
        String DEPT_ENABLE = "upms:dept:enable";
        String DEPT_DISABLE = "upms:dept:disable";
        String DEPT_EXPORT = "upms:dept:export";

        /**
         * 岗位
         */
        String POST_ADD = "upms:post:add";
        String POST_DELETE = "upms:post:delete";
        String POST_EDIT = "upms:post:edit";
        String POST_PAGE = "upms:post:page";
        String POST_DETAIL = "upms:post:detail";
        String POST_SYNC = "upms:post:sync";
        String POST_TREE = "upms:post:tree";
        String POST_ENABLE = "upms:post:enable";
        String POST_DISABLE = "upms:post:disable";
        String POST_EXPORT = "upms:post:export";

        /**
         * 职级
         */
        String RANK_ADD = "upms:rank:add";
        String RANK_DELETE = "upms:rank:delete";
        String RANK_EDIT = "upms:rank:edit";
        String RANK_PAGE = "upms:rank:page";
        String RANK_DETAIL = "upms:rank:detail";
        String RANK_SYNC = "upms:rank:sync";
        String RANK_TREE = "upms:rank:tree";
        String RANK_ENABLE = "upms:rank:enable";
        String RANK_DISABLE = "upms:rank:disable";
        String RANK_EXPORT = "upms:rank:export";

        /**
         * 用户
         */
        String USER_ADD = "upms:user:add";
        String USER_DELETE = "upms:user:delete";
        String USER_EDIT = "upms:user:edit";
        String USER_PAGE = "upms:user:page";
        String USER_PAGE_ORG = "upms:user:page.org";
        String USER_DETAIL = "upms:user:detail";
        String USER_RESET = "upms:user:reset";
        String USER_PWD_RESET = "upms:user:pwd.reset";
        String USER_PWD_CHANGE = "upms:user:pwd.change";
        String USER_EXPORT = "upms:user:export";
        String USER_ROLE_EXPORT = "upms:userRole:export";
        String USER_SYNC = "upms:user:sync";
        String USER_ENABLE = "upms:user:enable";
        String USER_DISABLE = "upms:user:disable";

        /**
         * 角色
         */
        String ROLE_ADD = "upms:role:add";
        String ROLE_DELETE = "upms:role:delete";
        String ROLE_EDIT = "upms:role:edit";
        String ROLE_PAGE = "upms:role:page";
        String ROLE_DETAIL = "upms:role:detail";
        String ROLE_EXPORT = "upms:role:export";
        String ROLE_DATA_AUTH = "upms:role:data";
        String ROLE_MENU_AUTH = "upms:role:menu";
        String ROLE_ENABLE = "upms:role:enable";
        String ROLE_DISABLE = "upms:role:disable";

        /**
         * 角色菜单
         */
        String ROLE_MENU_ADD = "upms:roleMenu:add";
        String ROLE_MENU_DELETE = "upms:roleMenu:delete";

        /**
         * 菜单租户
         */
        String MENU_TENANT_ADD = "upms:menuTenant:add";
        String MENU_TENANT_DELETE = "upms:menuTenant:delete";

        /**
         * 角色数据权限
         */
        String ROLE_SCOPE_ADD = "upms:roleScope:add";
        String ROLE_SCOPE_DELETE = "upms:roleScope:delete";

        /**
         * 角色岗位
         */
        String ROLE_POST_ADD = "upms:rolePost:add";
        String ROLE_POST_DELETE = "upms:rolePost:delete";

        /**
         * 用户岗位
         */
        String USER_POST_ADD = "upms:userPost:add";
        String USER_POST_DELETE = "upms:userPost:delete";

        /**
         * 用户角色
         */
        String USER_ROLE_ADD = "upms:userRole:add";
        String USER_ROLE_DELETE = "upms:userRole:delete";

        /**
         * 自增序列
         */
        String SERIAL_GENERATE = "upms:serial:generate";
        String SERIAL_ADD = "upms:serial:add";
        String SERIAL_DELETE = "upms:serial:delete";
        String SERIAL_EDIT = "upms:serial:edit";
        String SERIAL_PAGE = "upms:serial:page";
        String SERIAL_DETAIL = "upms:serial:detail";


        /**
         * 租户
         */
        String TENANT_ADD = "upms:tenant:add";
        String TENANT_DELETE = "upms:tenant:delete";
        String TENANT_EDIT = "upms:tenant:edit";
        String TENANT_PAGE = "upms:tenant:page";
        String TENANT_DETAIL = "upms:tenant:detail";
        String TENANT_ENABLE = "upms:tenant:enable";
        String TENANT_DISABLE = "upms:tenant:disable";

        /**
         * 菜单
         */
        String MENU_ADD = "upms:menu:add";
        String MENU_DELETE = "upms:menu:delete";
        String MENU_EDIT = "upms:menu:edit";
        String MENU_DETAIL = "upms:menu:detail";
        String MENU_SELECT = "upms:menu:select";
        String MENU_TABLE_SELECT = "upms:menu:tableSelect";
        String MENU_ROUTERS = "upms:menu:routers";
        String MENU_PAGE = "upms:menu:page";
        String MENU_BTN = "upms:menu:btn";
        String MENU_TREE = "upms:menu:tree";
        String MENU_EXPORT = "upms:menu:export";

        /**
         * 字典
         */
        String DICT_ADD = "upms:dict:add";
        String DICT_DELETE = "upms:dict:delete";
        String DICT_EDIT = "upms:dict:edit";
        String DICT_DETAIL = "upms:dict:detail";
        String DICT_PAGE = "upms:dict:page";
        String DICT_STATUS = "upms:dict:status";
        String DICT_ENABLE = "upms:dict:enable";
        String DICT_DISABLE = "upms:dict:disable";

        /**
         * 字典项
         */
        String DICT_ITEM_ADD = "upms:dictitem:add";
        String DICT_ITEM_DELETE = "upms:dictitem:delete";
        String DICT_ITEM_EDIT = "upms:dictitem:edit";
        String DICT_ITEM_DETAIL = "upms:dictitem:detail";
        String DICT_ITEM_PAGE = "upms:dictitem:page";
        String DICT_ITEM_LABEL = "upms:dictitem:label";
        String DICT_ITEM_ENABLE = "upms:dictitem:enable";
        String DICT_ITEM_DISABLE = "upms:dictitem:disable";


        /**
         * 权限资源
         */
        String DATA_PERM_ADD = "upms:dataperm:add";
        String DATA_PERM_DELETE = "upms:dataperm:delete";
        String DATA_PERM_EDIT = "upms:dataperm:edit";
        String DATA_PERM_DETAIL = "upms:dataperm:detail";
        String DATA_PERM_PAGE = "upms:dataperm:page";

        /**
         * 权限资源 -规则
         */
        String DATA_PERM_RULE_ADD = "upms:dataperm_rule:add";
        String DATA_PERM_RULE_DELETE = "upms:dataperm_rule:delete";
        String DATA_PERM_RULE_EDIT = "upms:dataperm_rule:edit";
        String DATA_PERM_RULE_DETAIL = "upms:dataperm_rule:detail";
        String DATA_PERM_RULE_PAGE = "upms:dataperm_rule:page";



        /**
         * 通知
         */
        String NOTICE_ADD = "upms:notice:add";
        String NOTICE_DELETE = "upms:notice:delete";
        String NOTICE_EDIT = "upms:notice:edit";
        String NOTICE_DETAIL = "upms:notice:detail";
        String NOTICE_PAGE = "upms:notice:page";
        String NOTICE_ENABLE = "upms:notice:enable";
        String NOTICE_DISABLE = "upms:notice:disable";

        /**
         * 通知公告附件
         */
        String NOTICE_FILE_ADD = "upms:noticefile:add";
        String NOTICE_FILE_DELETE = "upms:noticefile:delete";
        String NOTICE_FILE_EDIT = "upms:noticefile:edit";
        String NOTICE_FILE_DETAIL = "upms:noticefile:detail";
        String NOTICE_FILE_PAGE = "upms:noticefile:page";

        /**
         * 监控运维
         */
        String DEVOPS_ADD = "upms:devops:add";
        String DEVOPS_DELETE = "upms:devops:delete";
        String DEVOPS_EDIT = "upms:devops:edit";
        String DEVOPS_QUERY = "upms:devops:query";

        /**
         * 模板管理
         */
        String TEMPLATE_ADD = "upms:template:add";
        String TEMPLATE_DELETE = "upms:template:delete";
        String TEMPLATE_EDIT = "upms:template:edit";
        String TEMPLATE_PAGE = "upms:template:page";
        String TEMPLATE_DETAIL = "upms:template:detail";
        String TEMPLATE_ENABLE = "upms:template:enable";
        String TEMPLATE_DISABLE = "upms:template:disable";

        /**
         * 表格列配置管理
         */
        String USER_TABLE_CONFIG_ADD = "upms:userTableConfig:add";
        String USER_TABLE_CONFIG_DELETE = "upms:userTableConfig:delete";
        String USER_TABLE_CONFIG_EDIT = "upms:userTableConfig:edit";
        String USER_TABLE_CONFIG_PAGE = "upms:userTableConfig:page";
        String USER_TABLE_CONFIG_DETAIL = "upms:userTableConfig:detail";

        /**
         * 接口管理
         */
        String API_ADD = "upms:api:add";
        String API_DELETE = "upms:api:delete";
        String API_EDIT = "upms:api:edit";
        String API_DETAIL = "upms:api:detail";
        String API_TREE = "upms:api:tree";
        String API_PAGE = "upms:api:page";
        String API_ENABLE = "upms:api:enable";
        String API_DISABLE = "upms:api:disable";

        /**
         * 错误日志管理
         */
        String LOG_ERROR_ADD = "upms:logerror:add";
        String LOG_ERROR_DELETE = "upms:logerror:delete";
        String LOG_ERROR_EDIT = "upms:logerror:edit";
        String LOG_ERROR_DETAIL = "upms:logerror:detail";
        String LOG_ERROR_PAGE = "upms:logerror:page";
        String LOG_ERROR_EXPORT = "upms:logerror:export";

        /**
         * 登录日志管理
         */
        String LOG_LOGIN_ADD = "upms:loglogin:add";
        String LOG_LOGIN_DELETE = "upms:loglogin:delete";
        String LOG_LOGIN_EDIT = "upms:loglogin:edit";
        String LOG_LOGIN_DETAIL = "upms:loglogin:detail";
        String LOG_LOGIN_PAGE = "upms:loglogin:page";
        String LOG_LOGIN_EXPORT = "upms:loglogin:export";

        /**
         * 操作日志管理
         */
        String LOG_OPER_ADD = "upms:logoper:add";
        String LOG_OPER_DELETE = "upms:logoper:delete";
        String LOG_OPER_EDIT = "upms:logoper:edit";
        String LOG_OPER_DETAIL = "upms:logoper:detail";
        String LOG_OPER_PAGE = "upms:logoper:page";
        String LOG_OPER_EXPORT = "upms:logoper:export";

    }
}
